//package cqie.cn.frame.config.shiro;
//
//import cqie.cn.frame.config.realms.CustomerRealm;
//import org.apache.shiro.realm.Realm;
//import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
//import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.HashMap;
//import java.util.LinkedHashMap;
//import java.util.Map;
//
///**
// * @author 王林
// * @version 1.0
// * @date 2021-09-10 周五
// * @time 17:00
// * @description 用来整合shiro框架相关配置类
// */
//@Configuration
//public class ShiroConfig22 {
//
//    //1-创建shiroFilter
//
//    @Bean
//    public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("manager22") DefaultWebSecurityManager defaultWebSecurityManager) {
//
//        ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
//
//        //给filter设置安全管理器
//        bean.setSecurityManager(defaultWebSecurityManager);
//
//        /*anon :   无需认证就可以访问
//         * authc:  必须认证了才能访问
//         * user:   必须拥有  记住我，功能才能访问
//         * perms:  拥有某个对资源的权限才能访问
//         * role:   拥有某个角色权限才能访问
//         * */
//
//        //配置系统受限资源
//        //配置系统公共资源
//        //拦截
//        Map<String, String> filterMap = new HashMap<>();
//        filterMap.put("/**", "authc"); // authc 请求这个资源需要认证和授权
//
////        filterMap.put("/user/add", "authc");
//        filterMap.put("/doc.html", "anno");
//        filterMap.put("/api/*", "anno");
//
//        //s授权，正常情况下，没有授权会跳转到未授权页面
////        filterMap.put("/user/add", "perms[user:add]");
//
////        filterMap.put("/user/*", "authc");
//        bean.setFilterChainDefinitionMap(filterMap);
//
//        //设置登录的请求
////        bean.setLoginUrl("/doc.html");
//
//        //未授权页面
////        bean.setUnauthorizedUrl("/noauth");
//        return bean;
//    }
//
//    //2-创建安全管理器
//    @Bean(name = "manager22")
//    public DefaultWebSecurityManager getDefaultWebSecurityManager(@Qualifier("realm1") Realm realm) {
//
//        DefaultWebSecurityManager defaultWebSecurityManager = new DefaultWebSecurityManager();
//
//        //给安全管理器设置
//        defaultWebSecurityManager.setRealm(realm);
//
//        return defaultWebSecurityManager;
//    }
//
//    //3-创建自定义realm
//    @Bean(name = "realm1")
//    public Realm getRealm() {
//
//        CustomerRealm customerRealm = new CustomerRealm();
//        return customerRealm;
//    }
//
//
//}
